package com.sino.operation.service.business.inter;

import com.sino.operation.param.inner.*;
import com.sino.operation.vo.TaskGetParam;
import com.sino.operation.vo.current.TaskOtherCompleteParam;
import com.sino.operation.vo.inner.ResponseMessage;

/**
 * @InterfaceName TaskChoiceService
 * @Description TOD
 * @Author 北陈
 * @Date 2021/10/11 11:20
 * @Version 1.0
 **/
public interface TaskChoiceService {

    ResponseMessage getTask(TaskGetParam taskChoiceParam) throws Exception;

    void taskSuspend(TaskChoiceOtherParam taskChoiceOtherParam);

    void taskRelease(TaskChoiceOtherParam taskChoiceOtherParam);

    void taskResume(String taskId);

    String taskBack(TaskBackParam taskBackParam) throws Exception;

    void accountBack(TaskBackByAccountParam taskBackByAccountParam) throws Exception;

    String taskComplete(TaskCompleteParam taskCompleteParam) throws Exception;

    void commonTaskComplete(TaskOtherCompleteParam taskCompleteParam) throws Exception;

    void taskTerminal(TaskTerminalParam taskTerminalParam) throws Exception;

    void accountComplete(TaskCompleteByAccountParam taskCompleteByAccountParam)throws Exception;
}
